pub fn dp_rec_mc(amount: u32) -> u32 {
    let mut a: [u32; 200] = [200; 200];
    let b: [u32; 8] = [1, 2, 5, 10, 20, 30, 50, 100];

    a[0 as usize] = 0;

    for i in 1..amount + 1 {
        for x in b {
            if i < x {
                break;
            }
            if a[i as usize] > a[(i - x) as usize] + 1 {
                a[i as usize] = a[(i - x) as usize] + 1;
            }
        }
    }
    return a[amount as usize];
}
